package org.dromara.generator.domain;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;

import jakarta.validation.constraints.NotBlank;

/**
 * 代码生成业务字段表 gen_table_column
 *
 * @author Lion Li
 */
@Data
@TableName("information_schema.COLUMNS")
public class GenTableColumn {

    @TableField(value = "TABLE_SCHEMA")
    private String tableSchema;

    @TableField(value = "TABLE_NAME")
    private String tableName;

    @TableField(value = "COLUMN_NAME")
    private String columnName;

    @TableField(value = "ORDINAL_POSITION")
    private Integer ordinalPosition;

    @TableField(value = "IS_NULLABLE")
    private String nullable;

    @TableField(value = "COLUMN_KEY")
    private String columnKey; // PRI

    @TableField(value = "DATA_TYPE")
    private String dataType; // varchar

    @TableField(value = "COLUMN_COMMENT")
    private String comment;
}
